package net.hands.common.ado.query;

import java.util.ArrayList;
import java.util.List;

/**
 * 说明:数据查询转换工具类 <br>
 * <p>
 * 这是一个开源的软件，请在LGPLv3下合法使用、修改或重新发布。
 * </p>
 * 
 * @author 陈侃(cknet@126.com, 13910090885)
 *         http://code.google.com/p/simpleframework/
 *         http://www.simpleframework.net
 */
public abstract class DataQueryUtils {
	/**
	 * 说明:获得空集合对象的查询类
	 * 
	 * @return <T> IDataQuery<T>
	 * @update 2012-9-19 下午12:35:19
	 */
	public static <E> IDataQuery<E> nullQuery() {
		return new ListDataObjectQuery<E>();
	}

	/**
	 * 说明:转list集合
	 * 
	 * @param dataQuery
	 *            数据查询接口实现类
	 * @return <T> List<T>
	 * @update 2012-9-19 下午1:06:44
	 */
	public static <E> List<E> toList(final IDataQuery<E> dataQuery) {
		E t;
		final List<E> al = new ArrayList<E>();
		while ((t = dataQuery.next()) != null) {
			al.add(t);
		}
		return al;
	}
}
